﻿using System;
using System.Collections.Generic;
using System.Text;
using Meqs.Entity;

namespace Meqs.Logic.Interface
{
    public interface ITeacherEvalDetailLogic : ICommonLogic<TeacherEvalDetail, int>
    {
        /// <summary>
        /// 获取教师在学分管理下指定月份内的评估明细
        /// </summary>
        /// <param name="teacherID">教师id</param>
        /// <param name="reportType">
        ///  报表类型
        /// 1:日报
        /// 2:周报
        /// 3:月报
        /// </param>
        /// <param name="year">报表年度</param>
        /// <param name="month">报表月度</param>
        /// <param name="schoolYear">学年，不填为当前学年</param>
        /// <param name="term">学期，不填为当前学期</param>
        /// <param name="schoolMark">学校编号</param>
        /// <returns></returns>
        IList<TeacherInputEntity> GetTeacherInputEntityByMonth(int historyId, int teacherID,int reportType, int year, int month, int? schoolYear, int? term, string schoolMark);
        /// <summary>
        /// 获取教师在学分管理下指定月份内的评估明细
        /// </summary>
        /// <param name="teacherID">教师id</param>
        /// <param name="reportType">
        ///  报表类型
        /// 1:日报
        /// 2:周报
        /// 3:月报
        /// </param>
        /// <param name="year">报表年度</param>
        /// <param name="month">报表月度</param>
        /// <param name="schoolYear">学年，不填为当前学年</param>
        /// <param name="term">学期，不填为当前学期</param>
        /// <param name="schoolMark">学校编号</param>
        /// <returns></returns>
        IList<TeacherInputEntity> GetTeacherInputEntityByMonth(int historyId,int teacherID,int managerId, int reportType, int year, int month, int? schoolYear, int? term, string schoolMark);
    
         /// <summary>
        /// 添加一条教师评估的详细记录
        /// </summary>
        /// <param name="stuCauseEvalDetail"></param>
        /// <param name="schoolMark"></param>
        /// <returns></returns>
        int InsertTeacherEvalDetail(TeacherEvalDetail teacherEvalDetail, string schoolMark);


        /// <summary>
        /// 获取教师在学分管理下指定学期内的评估明细
        /// </summary>
        /// <param name="teacherID">教师id</param>
        /// <param name="reportType">
        ///  报表类型
        /// 1:日报
        /// 2:周报
        /// 3:月报
        /// </param>
        /// <param name="year">报表年度</param>
        /// <param name="month">报表月度</param>
        /// <param name="schoolYear">学年，不填为当前学年</param>
        /// <param name="term">学期，不填为当前学期</param>
        /// <param name="schoolMark">学校编号</param>
        /// <returns></returns>
        IList<TeacherInputEntity> GetTeacherInputEntityByTerm(int historyId,int teacherID,int managerId,int year, int month, int? schoolYear, int? term, string schoolMark);
        IList<TeacherInputEntity> GetTeacherInputEntityByTerm(int historyId, int teacherID, int year, int month, int? schoolYear, int? term, string schoolMark);

        IList<TeacherInputEntity> GetTeacherInputEntityByStudent(int historyId, int teacherID, int managerId, int year, int month, int? schoolYear, int? term, string schoolMark);
    }
}
